<%
  # Redmine plugin for Document Management System "Features"
  #
  # Vít Jonáš <vit.jonas@gmail.com>, Daniel Munn  <dan.munn@munnster.co.uk>, Karel Pičman <karel.picman@kontron.com>
  #
  # This program is free software; you can redistribute it and/or
  # modify it under the terms of the GNU General Public License
  # as published by the Free Software Foundation; either version 2
  # of the License, or (at your option) any later version.
  #
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU General Public License for more details.
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
%>

<% html_title l(:dmsf) %>

<%= render partial: '/dmsf/path',
      locals: { folder: @folder, filename: nil, title: l(:heading_uploaded_files) } %>

<%= render partial: 'dmsf/description' %>

<% if @uploads.size > 1 %>
  <div class="dmsf-scroll">
    <a class="dmsf-scroll-down" href="#footer"><%= l(:label_scroll_down) %></a>
  </div>
<% end %>

<% unless @uploads.empty? %>
  <%= form_tag({ action: 'commit_files', id: @project, folder_id: @folder }, method: :post) do %>
    <% @uploads.each_with_index do |upload, i| %>
      <% if upload.locked %>
        <%= render partial: 'upload_file_locked', locals: { upload: upload, i: i } %>
      <% else %>
        <%= render partial: 'upload_file', locals: { upload: upload, i: i } %>
      <% end %>
    <% end %>
    <div class="form-actions">
      <%= submit_tag l(:label_dmsf_commit),
                     data: { cy: 'button__submit__commit-file--project' },
                     class: 'button-positive',
                     onclick: "$('#ajax-indicator').show();" %>
    </div>
  <% end %>
<% end %>

<%= late_javascript_tag do %>
  // When the user scrolls the page, execute scrollFunction
  window.onscroll = function() {
    scrollFunction();
  };
  let scroller = $(".dmsf-scroll");
  let firstUploadBox = $(".dmfs-box-tabular:first");
  let offset = firstUploadBox.offset();
  // Add the sticky class to the header when you reach its scroll position.
  // Remove "sticky" when you leave the scroll position
  function scrollFunction() {
    if (window.pageYOffset > offset.top) {
      scroller.addClass("dmsf-sticky");
    } else {
      scroller.removeClass("dmsf-sticky");
    }
  }
<% end %>
